package com.geovis.emergency.spd.biz.pc.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.geovis.emergency.spd.entity.command.entity.TEpDisaster;
import com.geovis.emergency.spd.entity.pc.entity.PcDrill;
import com.geovis.emergency.spd.entity.pc.entity.PcDrillDisasterEvent;
import com.geovis.emergency.spd.entity.pc.entity.PcSchedulingEvent;
import com.geovis.emergency.spd.entity.pc.pojo.dto.PcDrillDisasterEventDTO;
import com.geovis.emergency.spd.entity.pc.pojo.vo.PcDrillDisasterEventListVO;
import com.geovis.emergency.spd.entity.pc.pojo.vo.PcDrillDisasterEventVO;
import com.geovis.emergency.spd.entity.pc.pojo.vo.PresetEventVO;

import java.util.List;

/**
 * <p>
 * 应急预案指挥模块-演练灾害事件表 服务类
 * </p>
 *
 * @author Lonsho
 * @since 2022-06-08
 */
public interface IPcDrillDisasterEventService extends IService<PcDrillDisasterEvent> {

    List<PcDrillDisasterEventListVO> getList(String drillId, String status);

    String getEventStep(String drillId);
    PcDrillDisasterEvent publishEvent(PcDrillDisasterEventDTO eventDTO);

    PcDrillDisasterEvent reportEvent(PcDrillDisasterEventDTO pcDrillDisasterEventDTO, TEpDisaster tepDisaster,Boolean isMobile);

    PresetEventVO getNextEvent(String drillId,String disasterId);

    void setDetailExtra(PcDrillDisasterEventVO pcDrillDisasterEventVO, String type);

    List<String> listIdByDrillIdAndEventStage(String pcDrillId, String code);

    void saveNewEvent(PcSchedulingEvent pcSchedulingEvent, PcDrill pcDrill);
}
